package com.winit.schedule.core.task;

import java.util.List;

import com.winit.schedule.core.model.Task;

/**
 * 多线程任务执行接口；可设置多任务项分配至不同的TaskTracker执行，每个TaskTracker可多线程处理任务项
 * 
 * @author jianke.zhang 2015-4-22 上午10:25:37
 * @since 1.0
 */
public interface ScheduleTaskDealMulti<T> extends ScheduleTaskDeal<T> {

    /**
     * 获取待处理数据
     * 
     * @param task 任务执行参数
     * @return
     */
    List<T> selectTasks(Task task);

    /**
     * 任务执行
     * 
     * @param t 任务执行参数
     * @return
     */
    boolean execute(T[] t);
}
